package com.quanyan.club.service;

import com.quanyan.api.APIResponse;
import com.quanyan.club.entity.admin.*;
import com.quanyan.club.entity.vo.req.admin.ReqActivityOrderQuery;
import com.quanyan.club.entity.vo.resp.admin.ResActivityOrderVo;
import com.quanyan.common.Plugin.PageObj;

import java.util.List;

/**
 * Created by yue.yuan on 2016/8/18.
 */
public interface ClubActivityAdminService {

    PageObj<List<ClubActivityListDo>> queryClubActivityList(ReqClubActivityAdmin req);

    ClubActivityDetail getClubActivityDetail(Integer activityId);

    boolean updateClubActivityDetail(ClubActivityDetail clubActivityDetail);

    PageObj<List<ClubActivityList>> queryDeleteActivity(int pageNum, int pageSize);

    PageObj<List<ClubActivityList>> queryRecommendList(Integer pageNum, Integer pageSize);

    int updateRecommend(Integer activityId,
                        Integer isRecommend);

    APIResponse< PageObj<List<ResActivityOrderVo>>> queryActivityOrderList(
            ReqActivityOrderQuery reqActivityOrderQuery);

    APIResponse<ClubActivityOrderDetail> activityOrderDetail(Integer orderId, Integer activityId);

    int deleteActivityByActivityId(Integer activityId);
    /**
     * 取消未支付订单
     */
    APIResponse cancelNotPayActivityOrder(Integer adminId,Integer uid, Integer activityId, String businessOrderNo);

    /**
     * 管理员操作退款，通知支付系统退款
     */
    APIResponse refundOrderNotify(Integer adminId,Integer uid, String businessOrderNo, Integer cancelType, String reason);
}
